Code coverage is a measure of the degree to which a source code of a program is tested by a particular test suite. A high code coverage of a program is an indication of a more thorough performance of a test of the program, and a program with a high code converge has a lower chance of containing software bugs than a program with a low code coverage. Code coverage is commonly an important aspect of efficient metric driven verification of large electronic circuit designs. Verification coverage metrics using code coverage can be dependable tools for measuring progress of verification.
As part of a compiler flow, hardware description language (HDL) coverage, which is a form of code coverage, can be tracked by adding internal logic to the identified coverage items of the user HDL. Coverage counters are signals that are added in the internal logic of the HDL, and get populated when the design-under-test (DUT) runs on emulation hardware. The values of these counters can be fetched at any time during the run and dumped in a coverage database after mapping these counter signals to the original HDL. This database can then be analyzed by a coverage database reader/analysis tool (e.g., Incisive Metrics Center (IMC) tool).
The description provided in the background section should not be assumed to be prior art merely because it is mentioned in or associated with the background section. The background section may include information that describes one or more aspects of the subject technology.